﻿using System;
using GameEngine.View.Components;
using GameEngine.Model.Data;
using System.Collections.Generic;

namespace GameEditor.View.Components
{
    public class ILevelEditorMenuViewConstants
    {
        public enum ButtonTags
        {
            OK, CANCEL,
            NEWWORLD,EDITWORLD,REMOVEWORLD,COPYASNEWWORLD
        }
        //public const string SAVEBUTTON = "SAVEBUTTON";
        //public const string EXITBUTTON = "EXITBUTTON";
        //public const string NEWLEVELBUTTON = "NEWLEVELBUTTON";
        //public const string EDITLEVELBUTTON = "EDITLEVELBUTTON";
        //public const string NEWTHINGTYPEBUTTON = "NEWTHINGTYPEBUTTON";
        //public const string EDITTHINGTYPEBUTTON = "EDITTHINGTYPEBUTTON";
        //public const string NEWVIEWBUTTON = "NEWVIEWBUTTON";
        //public const string EDITVIEWBUTTON = "EDITVIEWTYPEBUTTON";
        //public const string NEWRESOURCEBUTTON = "NEWRESOURCEBUTTON";
        //public const string EDITRESOURCEBUTTON = "EDITRESOURCETYPEBUTTON";
    }

    public interface ILevelEditorMenuView<ItemVOId> : IMenuView<ILevelEditorMenuViewConstants.ButtonTags>
        where ItemVOId : IComparable<ItemVOId>
   {
        string LevelName
        {
            get;
            set;
        }

        void AddWorld(IWorldVOId id);
        void RemoveWorld(IWorldVOId id);
        List<IWorldVOId> GetWorlds();
        IWorldVOId SelectedWorld { get; }
    }
}
